import pandas as pd
import matplotlib.pyplot as plt

# 读取CSV文件
data = pd.read_csv("cleaned_data.csv")

# 将temp列按照每2为一个区间进行分组
bins = range(int(data['temp'].min()), int(data['temp'].max()) + 2, 2)
grouped = data.groupby(pd.cut(data['temp'], bins=bins))

# 计算每个温度区间内的总租车人数
temp_counts = grouped['count'].sum()

# 指定要显示的中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 指定使用的中文字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 绘制折线图
plt.plot(temp_counts.index.astype(str), temp_counts.values, marker='o', linestyle='-')
plt.xlabel('温度（摄氏度）')
plt.ylabel('租用数')
plt.title('不同温度下租用单车总数')
plt.xticks(rotation=45)  # 旋转x轴标签，使其更易读
plt.grid(True)  # 添加网格线

# 在每个点上标出数值
for i, count in enumerate(temp_counts.values):
    plt.text(i, count, str(count), ha='center', va='bottom', fontsize=10)  # 调整字体大小

plt.show()
